package com.ruoyi.system.recovery.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.recovery.domain.RecoveryService;
import com.ruoyi.system.recovery.domain.vo.RecoveryServiceVo;

/**
 * 售后Service接口
 * 
 * @author ruoyi
 * @date 2025-06-10
 */
public interface IRecoveryServiceService extends IService<RecoveryService> {
    /**
     * 查询售后
     * 
     * @param id 售后主键
     * @return 售后
     */
    public RecoveryService selectRecoveryServiceById(Long id);

    /**
     * 查询售后列表
     * 
     * @param recoveryService 售后
     * @return 售后集合
     */
    public List<RecoveryServiceVo> selectRecoveryServiceList(RecoveryService recoveryService);

    /**
     * 新增售后
     * 
     * @param recoveryService 售后
     * @return 结果
     */
    public boolean insertRecoveryService(RecoveryService recoveryService);

    /**
     * 修改售后
     * 
     * @param recoveryService 售后
     * @return 结果
     */
    public boolean updateRecoveryService(RecoveryService recoveryService);

    /**
     * 批量删除售后
     * 
     * @param ids 需要删除的售后主键集合
     * @return 结果
     */
    public boolean deleteRecoveryServiceByIds(Long[] ids);

    /**
     * 删除售后信息
     * 
     * @param id 售后主键
     * @return 结果
     */
    public boolean deleteRecoveryServiceById(Long id);

    /**
     * 处理售后
     * @param recoveryService
     * @return
     */
    boolean handleService(RecoveryService recoveryService);

    /**
     * 取消售后
     * @param recoveryService
     * @return
     */
    boolean cancelService(RecoveryService recoveryService);

    /**
     * 完结售后
     * @param recoveryService
     * @return
     */
    AjaxResult endService(RecoveryService recoveryService);
}
